<!-- This file is included from main form //-->

<h2 class="welcome">Downloads</h2>

<p>
<ul>
       <li>
       <a class="bodylinks" href="http://sourceforge.net/projects/nfs-ganesha/files/nfs-ganesha/1.0.1">NFS-GANESHA v 1.0.1</a><br>
       <ul>
       <li>New FSAL model: FSAL modules can now be compiled as shared objects and loaded at runtime</li> 
       <li>New FSAL to support ZFS filesystem</li>
       <li>The capability to build a "FSAL-less" daemon has been added. It loads FSAL shared object by using the dlopen function.</li>
       <li>FSAL_PROXY: the embedded client now can allocate a tcp socket on a privileged port to contact the "proxyfied" server. </li>
       <li> FSAL shared objects are provided as precompiled rpms </li>
       <li>Log layer now uses syslog as a possible log stream</li>
       <li>Add new call FSAL_getextattrs to get info such a generation number and/or creation time.</li>
       <li>New Log management from IBM</li>
       </ul>  
       </li>
       <li>
       <a class="bodylinks" href="http://sourceforge.net/projects/nfs-ganesha/files/nfs-ganesha/0.99.66">NFS-GANESHA v 0.99.66</a><br>
       <ul>
       <li>FSAL_XFS now has lock support</li>
       <li>Brand new FSAL_GPFS added (patch from IBM) to natively support GPFS</li>
       <li>FSAL_POSIX and FSAL_XFS now have quota support (via rquota v1/v2 protocol and the use of the quotactl function)</li>
       <li>FSAL_TEMPLATE updated (had new functions for quota and lock management)</li>
       <li>pNFS/LAYOUT_FILES works with multiple Data Server</li>
       </ul>  
       </li>
       <li>
       <a class="bodylinks" href="http://sourceforge.net/projects/nfs-ganesha/files/nfs-ganesha/0.99.65">NFS-GANESHA v 0.99.65</a><br>
       <ul>
 	<li>New FSAL_XFS designed for natively exporting XFS filesystems</li>
        <li>Integration of a patch from Aneesh Kumar that implements Async NLM and NSM support</li>
        <li>A patch from Frank Filz related to POSIX behavior when opening file</li>
        <li>add '--enable-ds' in configure to configure nfs-ganesha as a NFSv4.1 server usable as a pNFS Data Server</li>
        <li>FSAL_LUSTRE : add lockdesc support</li>
        <li>Bug Fix: nfs4_op_access was not managing secondary groups properly. It now relyes on the FSAL for this.
        <li> Default value for FSAL_MODE_SUID and FSAL_MODE_SGID have changed.</li>
        <li> Add log trace when a operation is refused due to a setuid/setgid bit violation</li>
        <li> Bug Fix : in NFSv4, file were created with mode = 0000 . This was a trouble with certain FSAL</li>
        <li> Bug fix: Double close in log_functions.c</li>
        <li> checksum were removed from NFS file handles (more space for storing FSAL handles)</li>
        <li> (Patch from Frank Filz) : new and optionnal core parameter Bind_Addr</li>
       </ul>  
       </li>
       <li>
        <a class="bodylinks" href="http://sourceforge.net/projects/nfs-ganesha/files/nfs-ganesha/0.99.64">NFS-GANESHA v 0.99.64</a><br>
        <ul>
	<li>RPM Packaging : add chkconfig --add in %post</li>
	<li>Export Access Type "MDONLY" was not managed when using NFSv4</li>
	<li>Add safety check to cache_inode_remove/cache_inode_create and cache_inode_link to prevent from non allowed access</li>
        <li>Statistics for NFSv4.0 and NFSv4.1 operations have been added</li>
	<li>Bug Fix: default value for FSINFO3::dtpref was 0. Value 16384 is now used</li>	
        <li>Bug Fix: OPEN4 returns NFS4ERR_ROFS when used from the pseudofs</li>
	<li>Early (unstable) implementation of pNFS provided. Will continue and be stabilized in later releases</li>
	<li>Project is now released under the terms of the LGPLv3</li>
        </ul>
        </li>
	<li>
        <a class="bodylinks" href="http://sourceforge.net/projects/nfs-ganesha/files/nfs-ganesha/0.99.63">NFS-GANESHA v 0.99.63</a><br>
	<ul>
	<li>A patch from Sean Dague (japh@us.ibm.com) fixes a memleak in FSAL_POSIX</li>
        <li>A big patch provided by Aneesh Kumar (aneesh.kumar@linux.vnet.ibm.com) implements the NLMv4 protocol (NFS lock managemment for NFSv3)</li>
        <li>A "indent" target has been add to the src/Makefile.am . The code was fully re-indented with this target (that uses the "indent" utility)</li>
        <li>C-format style template for emacs provided by Sean Dague (japh@us.ibm.com)</li>
        <li>Bug fix (Frank Filz) : readdir had an extraneous empty request with eod=TRUE</li>
        <li>Bug fix : It was impossible to mount an exported entry's sub directory</li>
	</ul>
	</li>
	<li>
        <a class="bodylinks" href="http://sourceforge.net/projects/nfs-ganesha/files/nfs-ganesha/0.99.62">NFS-GANESHA v 0.99.62</a><br>
	<ul>
	<li>Security fix : badly managed caller_gid in nfs_exports.c</li>
	<li>Fixed a typo in nfs-ganesha.spec.in</li>
	<li>RPM packaging : fixed bad dependences for db engine to be used with FSAL_POSIX</li>
	<li>Debian Packaging : fixed same dep problems as above with rpm files</li>
	<li>Bug Fix : in idmapper.c, functions utf82uid and utf82gid were badly managing parameters when used with libnfsidmap</li>
	<li>pNFS implementation : now support attribute FATTR4_FS_LAYOUT_TYPE</li>
	<li>Fixed a bug in a Makefile.am that prevent target 'check' to compile</li>
	<li>RPM packaging : when compiling rpm files, only those related to the FSAL chosen at ./configure time are build</li>
	<li>fixed two typos and one potential memleaks (thanks to IBM guys how located this in the code)</li>
	</ul>
	</li>
	<li>
        <a class="bodylinks" href="http://sourceforge.net/projects/nfs-ganesha/files/nfs-ganesha/0.99.61">NFS-GANESHA v 0.99.61</a><br>
	</li>
	<ul>
	<li>A patch from Eric Sesterhenn about memleaks has been integrated.</li>
        <li>Bug Fix : now check value of csa_flags for OP4_CREATE_SESSION</li>
  	<li>Bug Fix : OP4_LOOKUPP should return NFS4ERR_SYMLINK instead of NFS4ERR_NOTDIR when cfh is related to a symbolic link.</li>
  	<li>Bug Fix : error NFS4ERR_NOT_ONLY_OP managed for OP4_EXCHANGE_ID</li>
  	<li>Bug Fix : OP4_LOOKUPP should return NFS4ERR_NOENT when called from the rootfh</li>
  	<li>Bug Fix : management of NFS4ERR_NOT_ONLY_OP introduced a bug when compiling without NFSv4.1 support. This is now fixed.</li>
  	<li>Changed bad #define in Log/log_functions.c (former situation could lead to possible buffer overflow</li>
  	<li>A patch by Erik Levinson about the use of libnfsidmap with gssrpc has been integrated</li>
  	<li>Bug Fix : it was impossible to compile with both support for gssrpc and support for NFSv4.1 (mismatch in nfsv41.h and xdr_nfsv41.c)</li>
	</ul>
	<li>
        <a class="bodylinks" href="http://sourceforge.net/projects/nfs-ganesha/files/nfs-ganesha/0.99.60">NFS-GANESHA v 0.99.60</a><br>
	</li>
	<ul>
	<li>The uid/gid mapping functions did a bad use of their related idmapper_cache functions</li>
	<li>Bug Fix : with kernel newer than 2.6.29, Connectathon's test6 failed</li>
	<li>Lock supports is available and apparently healthy with NFSv4.1</li>
	<li>Bug Fix: NFSv4 rsize/wsize had always value 1024 that killed performances</li>
	<li>Bug Fix : in nfsv4, the same open_owner opening a previously opened  fileid did not get the same stateid.</li>
	<li>Bug Fix : most of the time, files opened/created via NFSv4 were never closed</li>
	</ul>
	<li>
        <a class="bodylinks" href="http://sourceforge.net/projects/nfs-ganesha/files/nfs-ganesha/0.99.59">NFS-GANESHA v 0.99.59</a><br>
	</li>
	<ul>
	<li>Implementation of SEQUENCE's DRC</li>
	<li>Add new "NFSv4.1 specific errors" management in OP_SEQUENCE</li>
	<li>Bug Fix: test SEQ9c showed that the request replayed from the session's DRC always had status NFS4_OK </li>
	<li>Bug Fix : Management of NFS4ERR_RETRY_UNCACHED_REP and non cached sequence</li>
	<li>Bug Fix : correct use of NFS4ERR_TOO_MANY_OPS</li>
	<li>Bug Fix : initial seqid value is 1 in NFSv4.1</li>
	<li>Bug Fix : stateid's sequence increment was badly manage in case the file was opened without being created at the same time.</li>
	<li>Minor change in rpcxid dupreq management</li>
	<li>Fix bad default parameters in config_samples/proxy.ganesha.nfsd.conf</li>
	<li>Add config file parameter NFSv4::DomainName (formerly domain was  alway "localdomain" which was a big lack of flexibility)</li>
	<li>Add macro %tmp_install_dir to spec file to avoid using dirty variable TMP_INSTALL_DIR</li>
	<li>Add optional use of nfsidmap library</li>
	</ul>
	<li>
        <a class="bodylinks" href="http://sourceforge.net/projects/nfs-ganesha/files/nfs-ganesha/0.99.58">NFS-GANESHA v 0.99.58</a><br>
	</li>
	<ul>
	<li>Early implementation of NFSv4.1 session</li>
	</ul>
	<li>
        <a class="bodylinks" href="http://sourceforge.net/projects/nfs-ganesha/files/nfs-ganesha/0.99.57">NFS-GANESHA v 0.99.57</a><br>
	</li>
	<ul>
	<li> Add NFSv3 commit/write logic</li>
        <li>Add NFSv4 commit/write logic</li>
        <li>Brand new management of the NFSv4 open_owner</li>
        <li>Bug fix in clientid generation (very bad hash function)</li>
        <li>File nfs4_op_lock.c was fully rewritten to fix bugs</li>
        <li>open_owner's seqid is to be incremented even if OPEN fails</li>
        <li>lock overlapping check was reviewed</li>
        <li>no seqid checking when making read/write</li>
	</ul>
	<li>
        <a class="bodylinks" href="http://sourceforge.net/projects/nfs-ganesha/files/nfs-ganesha/0.99.56">NFS-GANESHA v 0.99.56</a><br>
	</li>
	<ul>
        <li> Change 2 log messages in MFSL_ASYNC</li>
        <li>Removed a debug messages in fusexmp_fh</li>
        <li>Bug fix in RW_Lock (may lead to deadlock when used in parralel withi several clients</li>
        <li>Prevent FSAL_PROXY to use udp as a transport layer, the "NFSv4_Proxy::NFS_Proto" field from the configuration file as been removed as well</li>
        <li>MFSL_ASYNC: now, only root can chmod or chgrp on a file/dir/symlink</li>
        <li>MFSL_ASYNC: the way mfsl_async_symlink is work was fully reviewd</li>
	</ul>
	<li>
	<li>
        <a class="bodylinks" href="http://sourceforge.net/project/showfiles.php?group_id=221673&package_id=267784&release_id=693441">NFS-GANESHA v 0.99.55</a><br>
	</li>	
	<ul>
	<li>Stupid bug fix in nfs4_op_open.c (allocating a zero length buffer...)</li>
	<li>Bug fix in OP_LOCKU4 implementation : no stateid was returned</li>
	<li>cache_inode_setattr was modified so that cache_inode_setattr can   set the size of a file </li>
	<li>Added by default a simplified implementation of NFSv4 state's model. More sophisticated (and experiment) model is available at ./configure time</li>
	</ul>
	<li>
        <a class="bodylinks" href="http://sourceforge.net/project/showfiles.php?group_id=221673&package_id=267784&release_id=691591">NFS-GANESHA v 0.99.54</a><br>
	</li>
	<ul>
	<li>Bug Fixed in NFSV4 lock management : NFS4ERR_OPENMODE was not returned in case a WRITE lock was requested on a read-only file</li>
	<li>Bug fixed in NFSv4 lock management : previously know lockowner where badly managed. </li>
	<li>Bug fixed in NFSv4 lock management : NFS4ERR_OLD_STATEID wasreturned instead of NFS4ERR_BAD_STATEID in severals cases</li>
	<li>Update nfs4_op_open's behaviour related to NFS4ERR_SHARE_DENIED</li>
	<li>Update nfs4_op_write and nfs4_op_read behavior regardings locks and share reservations.</li>
	<li>OP4_LOCK/OP4_LOCKU bad behavior fixed</li>
	<li>add a missing relation between lock-stateids and related open-stateids for managing seqid at state transition</li>
	<li>better management of OPEN4 with EXCLIVE4 repeated with same verifier</li>
	<li>Return NFS4ERR_LOCKS_HELD when closing a file with held locks</li>
	<li>all-one stateid is correctly managed in OP4_WRITE and OP4_READ</li>
	<li>Minor bug fixed in nfs4_op_open_confirm (errors when bad arguments are used)</li>
	<li>bad seqid management in nfs4_op_close </li>
	<li>Fix bug in the use of ACCES4resok::supported flag</li>
	<li>MFSL_ASYNC now has startup routines to clean preallocated stuff left by older instance of the server</li>
	<li>Bug Fix in OP_OPEN4 : if the file already existed as an OPEN_CREATE operation was made with the UNCHECKED mode, the parent  directory remain as the cfh as the operation returned NFS4_OK</li>
	</ul>
  	<li>
        <a class="bodylinks" href="http://sourceforge.net/project/showfiles.php?group_id=221673&package_id=267784&release_id=683946">NFS-GANESHA v 0.99.53</a><br>
        </li>
        <ul>
        <li>Bug Fix in non-regression test (badly managed configuration file)</li>
        <li> in MFSL_ASYNC, an entry is not looked up by cache_inode layer if its parent is asynchronous, this will prevent from an  encountered incoherency </li>
	<li>in MFSL_ASYNC, numlinks was badly managed in MFSL_unlink, files with numlinks >1 were deleted by MFSL_unlink </li>
	<li>in MFSL_ASYNC, symbolic links can't be proceeded  asynchronously. Mechanism were added to bypass the asynchronous  management for this specific case </li>
	<li>MFSL_create and MFSL_mkdir now use correctly the  credentials provided by the caller <li>
	<li>FSAL_POSIX uses pread/pwrite instead of fseek+fwrite/fseek+fread</li>
	<li>NFSv4 implementation now supports NFSv4 referrals</li>
        </ul>
        <li>
	<li>
	<a class="bodylinks" href="http://sourceforge.net/project/showfiles.php?group_id=221673&package_id=267784&release_id=674351">NFS-GANESHA v 0.99.52</a><br>
	</li>
	<ul>
        <li>Bug Fix: possible race condition in cache_inode_readdir</li>
        <li>MFSL_ASYNC: now, preallocated entries are owned by each worker</li>
        <li>Bug Fix: bad MFSL_Context management in ganeshell</li>
        <li>Bug Fix: MFSL deleted entry can no more be lookuped and accessed before their actual deletion</li>
        <li>Lustre v2 FSAL Beta</li>
        <li>Fixed bug in RW_lock_downgrade function</li>
        <li>Fixed weak locking in cache_inode_remove</li>
        <li>I/O optimization and fixes</li>
        <li>Improved fd cache management</li>
        <li>Tweak fixes in logs</li>
        <li>A lot of debug messages now only appear for DEBUG and FULL_DEBUG log levels</li>
	</ul>
	<li>
	<a class="bodylinks" href="http://sourceforge.net/project/showfiles.php?group_id=221673&package_id=267784&release_id=670224">NFS-GANESHA v 0.99.51</a><br>
	</li>
	<ul>
	<li>FSAL_POSIX has been ported to MySQL. Both PGSQL and MySQL can now be used as ancillary database.</li>
	<li>Bug Fix: massive mount request in parallel could lead to a denial of service</li>
	<li>Bug Fix: Bad computation of FH checksum on x86_64 platform.</li>
	<li>early implementation of asynchronous metadata caching. This is to be completed in later packages</li>
	</ul>
	<li><a class="bodylinks" href="http://sourceforge.net/project/showfiles.php?group_id=221673&package_id=267784&release_id=656257">NFS-GANESHA v 0.99.50</a><br>
	<ul>
	<li>NFS-GANESHA has been ported to OpenSolaris</li>
	<li>The distribution now includes debian packages</li>
	<li>the ports to various OS showed minor bugs that were fixed</li>
	</ul>
	</li>
	<li><a class="bodylinks" href="http://sourceforge.net/project/showfiles.php?group_id=221673&package_id=267784&release_id=652531">NFS-GANESHA v 0.99.49</a><br>
	Changes:
	<ul>
	<li>NFS-GANESHA has been ported to FreeBSD 7.0</li>
	<li>NFS-GANESHA has been ported to Linux/IA64 architecture</li>
	</ul>
	</li>
	<li><a class="bodylinks" href="http://sourceforge.net/project/showfiles.php?group_id=221673&package_id=267784&release_id=649152">NFS-GANESHA v 0.99.48</a><br>
	Changes:
	<ul>
	<li>The way lex/yacc (or flex/bison) is used in Makefile.am was changed. There is now no more interface if a code uses libganeshaNFS (with a FUSE binding) and lex/yacc parsing</li>
	<li>NFS-GANESHA has been ported to Mac OS X (Darwin 9.5). Other ports will follow</li>
	</ul>
	</li>       
 
	<li><a class="bodylinks" href="http://sourceforge.net/project/showfiles.php?group_id=221673&package_id=267784&release_id=644810">NFS-GANESHA v 0.99.47</a><br>
	Changes:
	<ul>
        <li>Running the Spec benchmark on nfs-ganesha showed a bug in attributes asked at creation time in NFSPROC3_CREATE, this has been fixed</li>
        <li> Fix non-compliancy (thanks again to Spec NFS) in NFSPROC3_SYMLINK (attributes provided as arguments were never used). </li>
        <li> Code cleanup: removed structure related to deprecated way of performing datacache's garbagge collection. </li>
        <li> Major feature added : skeleton and "basements" added for MFSL, a new optionnal module that goes between md cache and FSAL </li>
        <li> Removed direct Cache_Inode_Async, md writeback will be provided in a future module MFSL_ASYNC in MFSL directory </li>
	</ul>
	</li>

	<li><a class="bodylinks" href="http://sourceforge.net/project/showfiles.php?group_id=221673&package_id=267784&release_id=641300">NFS-GANESHA v 0.99.46</a><br>
        Changes:"
	<ul>
	<li>Bug fix: possible deadlock may occur in worker thread when using tcp clients</li>
	<li>Minor feature: MD cache now uses home made RW_Lock </li>
	<li>DataCache GC is done by an external call to the ganesha service</li>
	</ul>
	</li>

	<li><a class="bodylinks" href="http://sourceforge.net/project/showfiles.php?group_id=221673&package_id=267784&release_id=638341">NFS-GANESHA v 0.99.45</a><br>
        Changes:
	<ul>
	<li> Add IPv6 support via TIRPC support</li>
        <li> Add features to configuration file parsing for IPv6 address</li>
        <li> Bug fix in handle mapping module for FSAL_PROXY</li>
        <li> Bug Fix: Bad verifier management in FSAL_PROXY's cleintid negociation</li>
        <li> Bug fix: bad management of uid=0 is uidgidmap cache when using RPCSEC_GSS quthentication</li>
        <li> Bug fix: several bug fixed in .xattr.d management for NFSv3</li>
	</ul>
	</li>

        <li><a class="bodylinks" href="http://sourceforge.net/project/showfiles.php?group_id=221673&package_id=267784&release_id=634592">NFS-GANESHA v 0.99.44</a><br>
        Changes:
        <ul>
	<li> NFS4_OP_OPEN default behaviour is now to ask the client to confirm the open using NFS4_OP_OPEN_CONFIRM.</li>
	<li> A bugi fixed in NFS4_OP_OPEN : same open_owner could have multiple states on the same file in certain cases </li>
	<li> Many bug fixed in NFS4_OP_LOCK</li>
	<li> libganeshaNFS (produced when FSAL_FUSELIKE is chosen) can now be  managed by pkgconfig (a ".pc" file is added to the install target)</li>
	<li> Improved compatibility for old FUSE filesystems that implement getdir instead of readdir</li>
	<li> FUSE-like binding now support filesystems with no inode numbers.</li>
	<li> TIRPC can be use as alternate RPC layer. In later releases, this feature will be used to support IPv6 with NFS-GANESHA.</li>
	<li> Added a 'init' scripts to be place in /etc/init.d </li>
	<li> Added stuff to specfile so that it installs the .vim files</li>
        </ul>
	</li>

	<li><a class="bodylinks" href="http://sourceforge.net/project/showfiles.php?group_id=221673&package_id=267784&release_id=632093">NFS-GANESHA v 0.99.43</a><br>
	Changes:
        <ul>
        <li>RPCSEC_GSS support is fixed. NFS-GANESHA can make kerberized nfs export for linux clients (for NFSv3 and NFSv4)</li>
        <li>Nodesets syntax can be used to describe a list of machines in the configuration file</li>
        <li>libganeshaNFS (provided for FSAL_FUSELIKE) is now provided as both a static and a shared library</li>
        <li>RPM packaging has been reviewd in depth
	</ul>
	</li>

	<li><a class="bodylinks" href="http://sourceforge.net/project/showfiles.php?group_id=221673&package_id=267784&release_id=629457">NFS-GANESHA v 0.99.42</a><br>
	Changes:
		<ul>
		<li>Added xattr support in NFSv4. For object "foo", a ghost directory named ".xattr.d.foo" is used for accessing its extended attributes</li>
                <li>Added xattr ghost directory and ghost objects for NFSv3. These "extended attributes" are read-only for the moment. This feature may be disabled if "--disable-xattr-directory" is used at ./configure time.</li>
		</ul>
	</li>
	<li><a class="bodylinks" href="http://sourceforge.net/project/showfiles.php?group_id=221673&package_id=267784&release_id=620450">NFS-GANESHA v 0.99.41</a><br>
	Changes:
		<ul>
		<li>Fixed nfs4_op_access bug due to bad interpretation of the RFC</li>
        	<li>Added extended features in BuddyMalloc module to enable extended memory leak tracking</li>
                <li>FSAL_PROXY now supports RPCSEC_GSS authentication</li>
		</ul>
	</li>
	<li><a class="bodylinks" href="http://sourceforge.net/project/showfiles.php?group_id=221673&package_id=267784&release_id=616080">NFS-GANESHA v 0.99.40</a><br>
	Changes:
		<ul>
		<li>Fixed misc. memory issues in NFSv4 and FSAL Proxy;</li>
		<li>Added Handle Mapping feature in FSAL_PROXY which makes it possible to export back in NFSv2 and NFSv3 from a proxyfied server accessed via NFSv4.</li>
		</ul>
	</li> 
	<li><a class="bodylinks" href="http://sourceforge.net/project/showfiles.php?group_id=221673&package_id=267784&release_id=614717">NFS-GANESHA v 0.99.39</a></li> 
	</ul>
</p>

